Distribution of data such as news, events, notifications, files, media-clips and other application data to and from multiple devices operating in a network is ubiquitous today. The broadcasting of data to multiple mobile devices from one or more data broadcasters or sensors, and also broadcasting of data by the multiple mobile devices operating in a wireless network may involve a plurality of problems in terms of network resource usage or due to network bandwidth limitations. Usually, the device broadcasting the message may be referred to as a publisher and the receiver of the broadcasted message may be referred to as a subscriber. The communication between a data publisher and a subscriber is an essential characteristic feature in a message publication environment, where both the systems are decoupled with respect to each other. The data publisher sends data to a subscriber through a server. Such a server may act as a message data store, a subscription store, and an interlocutor between the two components.
Within a particular message publishing system, messages may generally be delivered through a network of servers which provide routing services. Such communications often have an associated “quality of service” which determines the manner in which the servers process the message. The quality of service depends on factors such as network bandwidth requirements, throughput, latency, error rate, compression, or the amount of memory or buffer space required for a data flow. The message publishing system includes a set of one or more publishers sending communications to a set of one or more subscribers who have subscribed their interest to a server in receiving communications of that type. Publish/subscribe allows subscribing users to receive the very latest information in an area of interest. A typical environment having a number of publishers sending messages to a broker/server that in turn sends the messages to a number (potentially a very large number) of subscribers located on remote computing devices across the network.
However, the use of mobile wireless devices such as mobile phones, PDAs, and wirelessly connected other battery operated devices, introduces a plurality of factors into any system designed to deliver data to applications executing on those devices for example, a situation in which a mobile device must communicate with a central data store or server over a wireless network, the device may face bandwidth constraints, latency concerns, intermittent connectivity problems, power constraints, and prohibitive cost into any system designed to transfer data and content to a user of a client device. In addition, the lower available bandwidth and energy of the device may place constraints on the type or complexity of the data or content that can be effectively delivered. Similarly, latency and intermittent connectivity concerns may impact the ability of the subscriber device to communicate with a source of data or content to confirm delivery of content. Therefore, there arises a need for optimizing the resource usage such as energy and bandwidth of the data publisher and managing Quality of Service.
The existing art attempts to resolve various issues involved in the data publishing systems. For example, U.S. Pat. No. 8,028,085 describe reducing the latency of a message exchange by removing the latency component which is the message queue for systems where the publishers and subscribers are residing at the same process space. However, it does not specify any method for publisher side Quality of Service management with optimized resource usage like energy as well as network bandwidth.
Further, US 2003/0115317 describes the subscriber-specified quality of service requirements as well as message characteristics and consequently to select an appropriate communication protocol by the message broker/server. The server also balances the reliability requirement and optimized message performance. However, this also does not specify any scheme for publisher side QoS management.
U.S. Pat. No. 7,548,534 talks about the MAC layer's (layer 2) bandwidth allocation policy and how dynamically bandwidth allocation is made by base station scheduler based on connection priority of each physical channel bandwidth grant can be varied. U.S. Pat. No. 8,149,771 talks about a dynamic bandwidth allocation mechanism among multiple applications by an event scheduler. It works particularly on the broadcast data. It ensures a reliability level when the application operates on the assigned bandwidth, however does not dynamically vary the reliability level during data publishing, and does not optimize the usage of bandwidth and power together. It does not require running on any constrained device. US 20060146991 proposes an end to end middleware architecture, which uses a publish-subscribe messaging system. Such a messaging system uses topic based mechanism. It provides management, control, data routing, software and firmware version control and update management and scheduling, further comprises one or more caching engines connected to respective one or more of the messaging appliances. The messaging system monitors performance metrics including network bandwidth, message flow rates, frame rates, messaging hop latency, end-to-end latency, and system behavior and protocol optimization services. It further operates to control resources associated with message communication paths based on the performance metrics. US 20090147737 talks about the WiMAX MAC layer's (layer 2) bandwidth allocation policy, how dynamically bandwidth allocation is made by base station scheduler, depending on the request made by the subscriber station using prediction of the number of packets need to be transmitted. Here the Tx queue length is dependent on the number of packets predicted to arrive into the queue by the time of the grant arrival, adjusted by the difference between the measured average delay and the target delay and does not talk about managing the publisher side QoS. Similarly, U.S. Pat. No. 7,406,537, US 20030135556, U.S. Pat. No. 7,424,549, US 20100002692, U.S. Pat. No. 7,970,918 do not talk managing the quality of service at the publisher's side.
However, the above mentioned prior art documents do not describe varying the reliability/QoS of a data publishing protocol, dynamically by a publisher while publishing the data and thus utilizing the resources like bandwidth and energy optimally as a constrained gateway device. Also, none of the existing arts come up with a proposal to define a relationship between the data publishing queue, sleep cycles and data publishing cycles. Thus, none of the schemes described in the existing arts is able to counter the problem of optimizing the resource usage like energy as well as bandwidth as data publisher as a constrained device, and acting as sensor gateway.
Further, the systems in the state of the art are not aware of any mechanism of generating a relationship among the data publishing queue, sleep and data publishing cycles while acting as data publisher and running on constrained gateway.
In view of the issues explained above, there is a growing need for improved methods and systems for managing publisher side Quality of Service with optimized resource usage like energy as well as network bandwidth. The present application describes varying the reliability of the published data based on the publisher's state and resource condition. It further specifies a method for publisher side Quality of Service management, optimizing the resource usage like energy as well as bandwidth based on dynamically varying the reliability level of the published message, depending on availability of bandwidth, the transmit queue size and priority of the data to be published at the publisher. The solution provided by the application also offers performance enhancement in terms of optimally using the resources like bandwidth and energy.